import request from '/@/utils/request'

export const prefix = 'matter'

/**
 * 获取提醒（通知）时间列表
 */
export function getRemindTimes() {
  return request({
    url: prefix + '/agendaMatter/getRemindTimes',
    method: 'get'
  })
}

/**
 * 获取可关联项一级对象
 */
export function getRelateItems() {
  return request({
    url: prefix + '/agendaMatterRelatable/getRelatableList',
    method: 'get'
  })
}

/**
 * 关联项的拼接查询数据接口
 */
export function getRelateDataList(path: string, params: any) {
  return request({
    url: path,
    method: 'get',
    params
  })
}

/**
 * 根据客户id获取订单分页
 */
export function getCustomerOrders(params: object) {
  return request({
    url: prefix + '/agendaMatterRelatable/getCustomerOrderPage',
    method: 'get',
    params
  })
}

/**
 * 【项目】获取最近操作的事项类型列表
 */
export function getRecentMatters(params) {
  return request({
    url: prefix + '/agendaMatterItem/getRecentMatters',
    method: 'get',
    params
  })
}

/**
 * 【项目】统计前10个用得最多的事项数量
 */
export function projectMatterAnalysis(projectId: string) {
  return request({
    url: prefix + '/agendaMatterItem/projectMatterAnalysis?projectId=' + projectId,
    method: 'get'
  })
}

/**
 * 获取各数据（项、客）详情页的事项分页数据
 */
export function getInfoMatterPage(params: any) {
  return request({
    url: prefix + '/agendaMatter/getInfoMatterPage',
    method: 'get',
    params
  })
}

/**
 * 根据关联项编码获取关联项id
 */
export function getRelatableId(code: string) {
  return request({
    url: prefix + '/agendaMatterRelatable/getRelatableId?code=' + code,
    method: 'get'
  })
}

/**
 * 根据业务菜单编码获取对应的可发起事项分组列表
 */
export function getModuleList(moduleCode: string) {
  return request({
    url: prefix + '/agendaMatterGroup/getModuleList?code=' + moduleCode,
    method: 'get'
  })
}

/**
 * 发起事项 - 相对通用事项接口
 * 无额外添加数据到其他（客户、订单、钱等）数据表的事项接口
 * data中需要带有type 事项类型枚举编码
 */
export function createMatterJust(data: any) {
  return request({
    url: prefix + '/commonMatter/createMatterJust',
    method: 'post',
    data
  })
}

/**
 * 修改事项
 */
export function modifyMatter(data) {
  return request({
    url: prefix + '/agendaMatter/modifyMatter',
    method: 'post',
    data
  })
}

/**
 * 删除事项
 */
export function deleteMatter(data) {
  return request({
    url: prefix + '/agendaMatter/delete',
    method: 'post',
    data
  })
}

/**
 * 获取事项统计
 */
export function getMatterCount(params?: object) {
  return request({
    url: prefix + '/agendaMatter/getMatterCount',
    method: 'get',
    params
  })
}

/**
 * 根据可关联项（业务菜单）编码获取事项列表, 无分组
 */
export function getModuleMatters(code) {
  return request({
    url: prefix + '/agendaMatterItem/getModuleItems?code=' + code,
    method: 'get'
  })
}

/**
 * 工作联系函事项接口
 */
export function createContactLetter(data) {
  return request({
    url: prefix + '/commonMatter/createContactLetter',
    method: 'post',
    data
  })
}

/**
 * 订单分页
 */
export function getOrderPage(params) {
  return request({
    url: '/oms/order/webList',
    method: 'get',
    params
  })
}

/**
 * 获取所有可关联项map code -> relatable
 */
export function getRelatableMap() {
  return request({
    url: prefix + '/agendaMatterRelatable/getRelatableMap',
    method: 'get'
  })
}
